﻿namespace FNN.EventArguments
{
    /// <summary>
    /// Расширенные аргументы события смены итерации
    /// </summary>
    public class ResultChangedExtendedEventArgs : IterationChangedEventArgs
    {
        /// <summary>
        /// Количество операций
        /// </summary>
        protected int OperationsCountValue;

        /// <summary>
        /// Количество итераций
        /// </summary>
        public int OperationsCount
        {
            get
            {
                return OperationsCountValue;
            }
            set
            {
                OperationsCountValue = value;
            }
        }

        /// <summary>
        /// Параметризированный конструктор
        /// </summary>
        /// <param name="iterationNumber">Номер итерации</param>
        /// <param name="iterationResult">Результат итерации</param>
        /// <param name="operationsCount">Количество операций</param>
        public ResultChangedExtendedEventArgs(int iterationNumber, double iterationResult, int operationsCount) : base(iterationNumber, iterationResult)
        {
            IterationNumberValue = iterationNumber;
            IterationResultValue = iterationResult;
            OperationsCountValue = operationsCount;
        }
    }
}
